Analyzing Program Termination and Complexity Automatically with AProVE
نویسندگان
چکیده
منابع مشابه
Proving Termination of Programs Automatically with AProVE
AProVE is a system for automatic termination and complexity proofs of Java, C, Haskell, Prolog, and term rewrite systems (TRSs). To analyze programs in high-level languages, AProVE automatically converts them to TRSs. Then, a wide range of techniques is employed to prove termination and to infer complexity bounds for the resulting TRSs. The generated proofs can be exported to check their correc...
متن کاملAutomated Termination Proofs with AProVE
We describe the system AProVE, an automated prover to verify (innermost) termination of term rewrite systems (TRSs). For this system, we have developed and implemented efficient algorithms based on classical simplification orders, dependency pairs, and the size-change principle. In particular, it contains many new improvements of the dependency pair approach that make automated termination prov...
متن کاملProving Termination with AProVE
The system AProVE (Automated Program Verification Environment) offers a variety of techniques for automated (innermost) termination proofs of (possibly conditional) TRSs, logic programs, and first-order functional programs. Besides efficient implementations of classical simplification orders (Sect. 2), it offers the dependency pair technique [2,11] which allows the application of classical orde...
متن کاملSAT Instances for Termination Analysis with AProVE
Recently, SAT solving has become the backbone for tackling the search problems in automated termination analysis for term rewrite systems and for programming languages. Indeed, even since the last SAT competition in 2007, many new termination techniques have been published where automation heavily relies on the efficiency of modern SAT solvers. Here, a successful satisfiability proof of the SAT...
متن کاملComplexity Analysis for Java with AProVE
While AProVE is one of the most powerful tools for termination analysis of Java since many years, we now extend our approach in order to analyze the complexity of Java programs as well. Based on a symbolic execution of the program, we develop a novel transformation of (possibly heap-manipulating) Java programs to integer transition systems (ITSs). This allows us to use existing complexity analy...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Journal of Automated Reasoning
سال: 2016
ISSN: 0168-7433,1573-0670
DOI: 10.1007/s10817-016-9388-y